Through packet-switched networks, network devices are able to communicate data to and receive data from other devices. The network devices are also able access services provided by network service providers (NSPs). For example, a subscriber with a network device (e.g., a modem or a router) is able to access routine network services such as high-speed Internet access, e-mail hosting, and virtual private networks.
To enable network devices to access and receive network services from NSPs, the network devices are configured to communicate with other devices using a network communication protocol (e.g., TCP/IP or ATM). The network devices are typically equipped with instructions including one or more basic network communication protocols that enable the network devices to exchange information with other devices over packet-switched networks.
Using network communication protocols, network devices are able to locate NSPs and other devices that provide network services. Once a particular NSP is located by a network device, the network device typically requests and receives configuration information from the NSP, and the requested configuration information is used to configure the network device for a particular network service provided by the NSP. In general, such a configuration of the network device for a network service is performed automatically, thereby making the configuration process seamless and transparent to subscribers.
Asynchronous transfer mode (ATM), point-to-point protocol (PPP), and dynamic host configuration protocol (DHCP) are examples of protocols traditionally used to auto-configure network devices for routine network services, particularly for assignment of internet protocol (IP) addresses. PPP is a simple communication protocol for exchanging various types of information, including configuration information, between networked devices. PPP provides for message exchange and subscriber authentication between a network device and a single NSP. DHCP is designed to provide configuration parameters to network devices and to allocate network addresses.
While the auto-configuration mechanisms and protocols described above are sufficient for automatic configuration of routing network services, the mechanisms and protocols are limited to configuring network devices where a single NSP provides a single service. In other words, conventional auto-configuration mechanisms are only able to obtain configuration information from a specific server that represents only a single NSP. This is due at least in part to the limitations of the conventional protocols (e.g., ATM, PPP, and DHCP). In particular, conventional protocols are capable of supporting only a limited number of different network services and configuration parameters. Conventional protocols are incapable of storing complex configuration information for a large number of NSPs providing a large variety of network services.
Unfortunately, the limitations of traditional auto-configuration mechanisms and protocols render them unsuitable for supporting auto-configuration of network devices for many advanced network services. Advanced network services are typically provided by different NSPs, and each NSP may require different permanent virtual circuits (PVCs) or IP connections with different attributes that may vary according to the service being provided. In addition to multiple IP sessions, several advanced network services often require multiple PVCs or IP connections with various traffic parameters that may differ from each other, depending on the particular service, as well as on a subscriber's network device. Examples of advanced network services include video-on-demand, video conferencing, video gaming, broadcast and unicast video, audio (e.g., web radio and compact-disc quality audio), dynamic provisioning, image management, and security services such as managed firewalls, virus protection, anti-spam features, and parental controls.
Because of the demands of advanced network services and the limitations of conventional auto-configuration mechanisms and protocols, subscribers have been limited to obtaining advanced network services only from NSPs that have pre-established agreements with the network access providers (NAPs) being used to connect the subscribers to the NSPs. For example, a particular subscriber desiring video-on-demand is limited to using the NSPs that, under an agreement with the subscriber's NAP, have provided configuration information specific to their video-on-demand services.